{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-08-28T14:36:42.136217Z",
     "start_time": "2018-08-28T14:36:41.813876Z"
    }
   },
   "outputs": [],
   "source": [
    "import random as rn\n",
    "import os\n",
    "import numpy as np\n",
    "os.environ['PYTHONHASHSEED'] = '0'\n",
    "np.random.seed(42)\n",
    "rn.seed(123)\n",
    "from sklearn.ensemble import RandomForestRegressor\n",
    "from sklearn.ensemble import GradientBoostingRegressor\n",
    "from scipy.stats import randint as sp_randint"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-08-28T14:36:43.477167Z",
     "start_time": "2018-08-28T14:36:42.916077Z"
    }
   },
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "import seaborn as sns\n",
    "import pickle\n",
    "from sklearn.linear_model import SGDRegressor\n",
    "from sklearn.model_selection import PredefinedSplit\n",
    "from sklearn.metrics import r2_score\n",
    "from sklearn.model_selection import RandomizedSearchCV\n",
    "from scipy.stats import uniform\n",
    "from sklearn.metrics import make_scorer\n",
    "pd.set_option('display.max_columns', 50)\n",
    "pd.set_option('display.max_rows', 100)\n",
    "pd.set_option('display.float_format', lambda x: '%.3f' % x)\n",
    "Path = 'D:\\\\APViaML'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-08-28T14:36:44.165433Z",
     "start_time": "2018-08-28T14:36:43.612553Z"
    }
   },
   "outputs": [],
   "source": [
    "def get_demo_dict_data():\n",
    "    file = open(Path + '\\\\data\\\\alldata_demo_top1000.pkl','rb')\n",
    "    raw_data = pickle.load(file)\n",
    "    file.close()\n",
    "    return raw_data\n",
    "data = get_demo_dict_data()\n",
    "top_1000_data_X = data['X']\n",
    "top_1000_data_Y = data['Y']\n",
    "del data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-08-28T14:36:44.486296Z",
     "start_time": "2018-08-28T14:36:44.480281Z"
    },
    "code_folding": []
   },
   "outputs": [],
   "source": [
    "def Evaluation_fun(predict_array,real_array):\n",
    "    List1 = []\n",
    "    List2 = []\n",
    "    if len(predict_array) != len(real_array):\n",
    "        print('Something is worng!')\n",
    "    else:\n",
    "        for i in range(len(predict_array)):\n",
    "            List1.append(np.square(predict_array[i]-real_array[i]))\n",
    "            List2.append(np.square(real_array[i]))\n",
    "        result = round(100*(1 - sum(List1)/sum(List2)),3)\n",
    "    return result\n",
    "\n",
    "def my_custom_score_func(ground_truth, predictions):\n",
    "    \n",
    "    num1 =sum((ground_truth-predictions)**2)\n",
    "    num2 = sum(ground_truth**2)\n",
    "    return 1-num1/num2\n",
    "\n",
    "self_score = make_scorer(my_custom_score_func, greater_is_better=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-08-28T14:37:10.708968Z",
     "start_time": "2018-08-28T14:37:10.671872Z"
    },
    "code_folding": []
   },
   "outputs": [],
   "source": [
    "def rolling_model_RF(\n",
    "    df_X ,\n",
    "    df_Y ,\n",
    "    num1 = 100):\n",
    "                                    \n",
    "    y_predict_list = []\n",
    "    test_performance_score_list = []\n",
    "    best_depth = []\n",
    "    \n",
    "    for i in range(30):\n",
    "        print(i)\n",
    "        ## define data index\n",
    "        traindata_startyear_str = str(1958) \n",
    "        traindata_endyear_str = str(i + 1987) \n",
    "        vdata_startyear_str = str(i + 1976) \n",
    "        vdata_endyear_str = str(i + 1987) \n",
    "        testdata_startyear_str = str(i + 1988) \n",
    " \n",
    "\n",
    "        ## get data     \n",
    "        X_traindata =  np.array(df_X.loc[traindata_startyear_str:traindata_endyear_str])\n",
    "        Y_traindata = np.array(df_Y.loc[traindata_startyear_str:traindata_endyear_str])\n",
    "        X_vdata = np.array(df_X.loc[vdata_startyear_str:vdata_endyear_str])\n",
    "        Y_vdata = np.array(df_Y.loc[vdata_startyear_str:vdata_endyear_str])\n",
    "        X_testdata = np.array(df_X.loc[testdata_startyear_str])\n",
    "        Y_testdata = np.array(df_Y.loc[testdata_startyear_str])\n",
    "\n",
    "        num_valid_size = len(X_traindata)-len(X_vdata)\n",
    "        \n",
    "        test_fold = -1 * np.ones(len(X_traindata))\n",
    "        test_fold[num_valid_size:] = 0\n",
    "        ps = PredefinedSplit(test_fold)\n",
    "        \n",
    "        # specify parameters and distributions to sample from\n",
    "        \n",
    "        \n",
    "        param_dist ={   \"max_features\": sp_randint(10, 60),\n",
    "                        \"max_depth\": sp_randint(3, 10),\n",
    "                        \"min_samples_split\": sp_randint(100,1000),\n",
    "                        \"min_samples_leaf\": sp_randint(100,1000),\n",
    "                        \"n_estimators\":sp_randint(10, 60),\n",
    "                         \"oob_score\": [True, False]   \n",
    "                      }\n",
    "\n",
    "        clf_RF = RandomForestRegressor(random_state=100)\n",
    "\n",
    "        \n",
    "        # run randomized search\n",
    "        n_iter_search = num1\n",
    "        estim = RandomizedSearchCV(clf_RF, param_distributions=param_dist,\n",
    "                                           n_iter=n_iter_search,scoring=self_score,\n",
    "                                          cv=ps.split(),iid=False,random_state=100)             \n",
    "      \n",
    "        estim.fit(X_traindata, Y_traindata)\n",
    "        ##save best tree depth every year \n",
    "        temp_best_depth = estim.best_params_['max_depth']\n",
    "        best_depth.append(temp_best_depth)\n",
    "        \n",
    "        best_estimator = estim.best_estimator_\n",
    "        estim = best_estimator.fit(X_traindata[:num_valid_size], Y_traindata[:num_valid_size])\n",
    "        \n",
    "        file = open(Path + '\\\\model\\\\RF\\\\' + testdata_startyear_str+ 'Model_RF_Top1000_Prediction.pkl', 'wb')\n",
    "        pickle.dump(estim, file)\n",
    "        file.close()\n",
    "        \n",
    "        ## model testing\n",
    "         \n",
    "        test_pre_y_arry = estim.predict(X_testdata)\n",
    "        y_predict_list1=[]\n",
    "        for x in test_pre_y_arry:\n",
    "            y_predict_list.append(x)\n",
    "            y_predict_list1.append(x)        \n",
    "        test_performance_score =  Evaluation_fun(y_predict_list1,Y_testdata )\n",
    "        test_performance_score_list.append(test_performance_score)\n",
    "        \n",
    "    return y_predict_list,test_performance_score_list,best_depth"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-08-28T23:45:51.028953Z",
     "start_time": "2018-08-28T14:46:23.160856Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "3\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "4\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "5\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "6\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "7\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "8\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "9\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "10\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "11\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "12\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "13\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "14\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "15\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "16\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "17\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "18\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "19\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "20\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "21\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "22\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "23\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "24\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "25\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "26\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "27\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "28\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "29\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n",
      "F:\\anaconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:724: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable oob estimates.\n",
      "  warn(\"Some inputs do not have OOB scores. \"\n"
     ]
    }
   ],
   "source": [
    "y_predict_list,test_performance_score_list,best_depth_list = rolling_model_RF(df_X = top_1000_data_X,df_Y = top_1000_data_Y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-08-29T01:06:51.926555Z",
     "start_time": "2018-08-29T01:06:51.923547Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "4.5071666666666665\n"
     ]
    }
   ],
   "source": [
    "print(np.mean(test_performance_score_list))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-08-29T01:06:55.609751Z",
     "start_time": "2018-08-29T01:06:55.602731Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[15.076,\n",
       " 11.791,\n",
       " -47.104,\n",
       " 17.535,\n",
       " 8.993,\n",
       " 1.035,\n",
       " -0.946,\n",
       " 6.714,\n",
       " 12.501,\n",
       " 8.179,\n",
       " 1.743,\n",
       " 0.731,\n",
       " -0.141,\n",
       " -7.154,\n",
       " -31.258,\n",
       " 13.173,\n",
       " 19.239,\n",
       " 6.736,\n",
       " 15.815,\n",
       " -0.309,\n",
       " -27.378,\n",
       " 19.699,\n",
       " 33.444,\n",
       " -26.032,\n",
       " 26.447,\n",
       " 20.156,\n",
       " 12.738,\n",
       " -23.489,\n",
       " 20.075,\n",
       " 27.206]"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test_performance_score_list"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-08-29T01:07:46.600434Z",
     "start_time": "2018-08-29T01:07:46.456544Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "5.074"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y_real = np.array(top_1000_data_Y.loc['1988':])\n",
    "Evaluation_fun(y_predict_list,y_real)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-08-29T01:22:26.744177Z",
     "start_time": "2018-08-29T01:22:26.739165Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[8,\n",
       " 6,\n",
       " 6,\n",
       " 6,\n",
       " 8,\n",
       " 4,\n",
       " 9,\n",
       " 9,\n",
       " 6,\n",
       " 3,\n",
       " 3,\n",
       " 3,\n",
       " 3,\n",
       " 3,\n",
       " 3,\n",
       " 3,\n",
       " 3,\n",
       " 7,\n",
       " 5,\n",
       " 4,\n",
       " 7,\n",
       " 6,\n",
       " 7,\n",
       " 4,\n",
       " 7,\n",
       " 4,\n",
       " 6,\n",
       " 3,\n",
       " 7,\n",
       " 6]"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "best_depth_list"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-08-29T05:58:24.310510Z",
     "start_time": "2018-08-29T05:58:23.938522Z"
    }
   },
   "outputs": [],
   "source": [
    "file = open(Path + '\\\\output\\\\data\\\\Model_RF_Top1000_Prediction.pkl', 'wb')\n",
    "pickle.dump(y_predict_list, file)\n",
    "file.close()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-08-29T06:13:32.153706Z",
     "start_time": "2018-08-29T06:13:32.147190Z"
    }
   },
   "outputs": [],
   "source": [
    "def get_plot_figure(X_fig,Y_fig):\n",
    "    plt.figure(figsize=(16,8))\n",
    "    plt.plot(X_fig,Y_fig,\n",
    "              linestyle = '-', \n",
    "              linewidth = 2, \n",
    "              color = '#ff9999', \n",
    "              marker = 'o', \n",
    "              markersize = 6, \n",
    "              markeredgecolor='black', \n",
    "              markerfacecolor='#ff9999' )\n",
    "    plt.ylabel('Tree Depth')\n",
    "    plt.xlabel('Year')\n",
    "    plt.grid(True,ls='--')\n",
    "    plt.title('RF')\n",
    "    ax = plt.gca()\n",
    "    ax.spines['top'].set_visible(False) #去掉上边框\n",
    "    ax.spines['right'].set_visible(False) #去掉右边框\n",
    "    plt.savefig(Path + '\\\\output\\\\figure\\\\fig3_RF.jpg',bbox_inches = 'tight')\n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-08-29T06:13:33.379465Z",
     "start_time": "2018-08-29T06:13:32.712193Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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cHsaIiKikAkhWgD8DYB3Qe3f+EsAD0opXyvhNSullOmQmkhERGQ0FqpEREQREEL8CYDrANYCmJJS/lchxCcBfBpANYB/APDvpJSLQog/B9AGoBbAd6SUX8y8xjkAfwbgQQBfllL+jYYfhYiIKHaVuhtARETkqEMABgDMAWjP9LJ+FMD7pJTpTHH6cQDdAD4npZwUQlQCOCqE+N9SyuHM61yXUt6j4wcgIiLShYUqERFRBKSU14UQ3wEwLaVMCSH+GYB/CqBfCAGo3tOzmW//hBDiMajr8h0AmgB4hep34m05ERGRfixUiYiIorOY+QMAAsDXpZR/mP0NQoi9AD4D4D1SyreEEH8FoCbrW67H0lIiIiKDcNVfIiKieLwA4PeEEJsAQAjRIITYCWAdgCkA14QQtwP4oMY2EhERGYE9qkRERDGQUr4ihDgE4AUhRAWAeQBPAOiHGuY7CGAcwM/0tZKIiMgMXPWXiIiIiIiIjMKhv0RERERERGQUFqpERERERERkFBaqREREREREZBQWqkRERERERGQUFqpERERERERkFBaqREREREREZBQWqkRERERERGSU/w+aACqfs+IApwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 1152x576 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "X_fig = range(1988,2018)\n",
    "get_plot_figure(X_fig,best_depth_list)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.6"
  },
  "latex_envs": {
   "LaTeX_envs_menu_present": true,
   "autoclose": false,
   "autocomplete": true,
   "bibliofile": "biblio.bib",
   "cite_by": "apalike",
   "current_citInitial": 1,
   "eqLabelWithNumbers": true,
   "eqNumInitial": 1,
   "hotkeys": {
    "equation": "Ctrl-E",
    "itemize": "Ctrl-I"
   },
   "labels_anchors": false,
   "latex_user_defs": false,
   "report_style_numbering": false,
   "user_envs_cfg": false
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  },
  "varInspector": {
   "cols": {
    "lenName": 16,
    "lenType": 16,
    "lenVar": 40
   },
   "kernels_config": {
    "python": {
     "delete_cmd_postfix": "",
     "delete_cmd_prefix": "del ",
     "library": "var_list.py",
     "varRefreshCmd": "print(var_dic_list())"
    },
    "r": {
     "delete_cmd_postfix": ") ",
     "delete_cmd_prefix": "rm(",
     "library": "var_list.r",
     "varRefreshCmd": "cat(var_dic_list()) "
    }
   },
   "types_to_exclude": [
    "module",
    "function",
    "builtin_function_or_method",
    "instance",
    "_Feature"
   ],
   "window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
